home *** CD-ROM | disk | FTP | other *** search
/ PCMania 29 / PCMania CD29.iso / pcmania / magia29 / programa.bas
Encoding:
BASIC Source File  |  1995-01-26  |  2.1 KB  |  62 lines

  1. 'Programa para el estudio de sistemas caóticos
  2. SCREEN 12
  3.  
  4. 'Constantes comunes
  5. '**********************************
  6. gradosx = 10  'Angulo del eje de coordenadas x
  7. gradosy = 10  'Angulo del eje de coordenadas y
  8. 'Se pasan ambos ángulos a radianes
  9. alfa = gradosx * 3.14 / 180
  10. beta = gradosy * 3.14 / 180
  11. f = .01        'Incremento de las ecuaciones diferenciales en cada vuelta
  12. '**********************************
  13. INPUT "¿Que ecuación desea obtener (1-3)"; numero%
  14. CLS
  15. 'Se introducen los valores de las constantes para cada ecuación
  16. SELECT CASE numero%
  17.         CASE 1
  18.                 'Ecuación de Lorenz
  19.                 a = 10: b = 17: c = 1: lupa = 8
  20.                 x = 1: y = 1: z = 7
  21.         CASE 2
  22.                 'Ecuación de Rössler
  23.                 a = .32: b = .3: c = 4.5: lupa = 20
  24.                 x = 1: y = 1: z = 1
  25.         CASE 3
  26.                 'Ecuación depredador-presas
  27.                 a = 1: b = 12: c = 1.5: d = 1: lupa = 280
  28.                 x = .05: y = .05: z = .01
  29. END SELECT
  30. 'Se imprimen los ejes de coordenadas
  31. LINE (320, 0)-(320, 480)
  32. LINE (320 - 320 * COS(alfa), 240 + 320 * SIN(alfa))-(320 + 320 * COS(alfa), 240 - 320 * SIN(alfa))
  33. LINE (320 + 320 * COS(beta), 240 + 320 * SIN(beta))-(320 - 320 * COS(beta), 240 - 320 * SIN(beta))
  34.  
  35. 'Bucle principal
  36. tecla$ = ""
  37. DO WHILE tecla$ = ""
  38. tecla$ = INKEY$
  39. 'Se introducen las tres ecuaciones
  40. SELECT CASE numero%
  41.        CASE 1
  42.                 'Ecuación de Lorenz
  43.                 x = x + a * (y - x) * f
  44.                 y = y + (b * x - y - x * z) * f
  45.                 z = z + (x * y - c * z) * f
  46.         CASE 2
  47.                 'Ecuación de Rössler
  48.                 x = x + (-y - z) * f
  49.                 y = y + (x + a * y) * f
  50.                 z = z + (b * x - c * z + x * z) * f
  51.         CASE 3
  52.                 'Ecuación de depredador-presas
  53.                 x = x + x * (1 - x - a * y - b * z) * f
  54.                 y = y + y * (1 - y - c * x - d * z) * f
  55.                 z = z + z * (-1 + b * x / 2 + d * y / 2) * f
  56. END SELECT
  57. 'Se imprimen las curvas
  58. PSET (320 - lupa * (y * COS(alfa) + x * COS(beta)), 240 - lupa * (z + y * SIN(alfa) + x * SIN(beta)))
  59.  
  60. LOOP
  61.  
  62.